package com.ourteam.product.ui.domain;
/**
 * Template Name : DTO数据对象 Template Version : 1 Template Last Modfiy Date : Fri Nov 30 16:49:33 CST
 * 2018 Auto Generate Date : 2018-12-14 15:15:53 Warning ! This file will be overwrite when
 * regenerate !
 */
import java.util.HashMap;
import java.util.Map;
import net.dao.IDataPopulateCallback;
import org.apache.commons.beanutils.BeanMap;
import org.apache.commons.lang.ArrayUtils;

public class ProductUITableColumnBean implements java.io.Serializable {

  private static Map<String, String> mappedDaoFields = new HashMap<String, String>();

  private com.ourteam.product.ui.dao.ProductUITableColumn productUITableColumn;

  protected BeanMap getBeanMap() {

    return new BeanMap(productUITableColumn);
  }

  static {
    mappedDaoFields.put("id", com.ourteam.product.ui.dao.IProductUITableColumnDAO.Id);

    mappedDaoFields.put("tableId", com.ourteam.product.ui.dao.IProductUITableColumnDAO.TableId);

    mappedDaoFields.put("code", com.ourteam.product.ui.dao.IProductUITableColumnDAO.Code);

    mappedDaoFields.put("title", com.ourteam.product.ui.dao.IProductUITableColumnDAO.Title);

    mappedDaoFields.put("titleKey", com.ourteam.product.ui.dao.IProductUITableColumnDAO.TitleKey);

    mappedDaoFields.put("titleIcon", com.ourteam.product.ui.dao.IProductUITableColumnDAO.TitleIcon);

    mappedDaoFields.put("width", com.ourteam.product.ui.dao.IProductUITableColumnDAO.Width);

    mappedDaoFields.put("align", com.ourteam.product.ui.dao.IProductUITableColumnDAO.Align);

    mappedDaoFields.put(
        "formatValue", com.ourteam.product.ui.dao.IProductUITableColumnDAO.FormatValue);

    mappedDaoFields.put(
        "listDataSource", com.ourteam.product.ui.dao.IProductUITableColumnDAO.ListDataSource);

    mappedDaoFields.put(
        "cellEditor", com.ourteam.product.ui.dao.IProductUITableColumnDAO.CellEditor);

    mappedDaoFields.put("dataType", com.ourteam.product.ui.dao.IProductUITableColumnDAO.DataType);

    mappedDaoFields.put("showValue", com.ourteam.product.ui.dao.IProductUITableColumnDAO.ShowValue);

    mappedDaoFields.put("canSort", com.ourteam.product.ui.dao.IProductUITableColumnDAO.CanSort);

    mappedDaoFields.put("canResize", com.ourteam.product.ui.dao.IProductUITableColumnDAO.CanResize);

    mappedDaoFields.put("canFilter", com.ourteam.product.ui.dao.IProductUITableColumnDAO.CanFilter);

    mappedDaoFields.put(
        "canReOrder", com.ourteam.product.ui.dao.IProductUITableColumnDAO.CanReOrder);

    mappedDaoFields.put("frozen", com.ourteam.product.ui.dao.IProductUITableColumnDAO.Frozen);

    mappedDaoFields.put("sortIndex", com.ourteam.product.ui.dao.IProductUITableColumnDAO.SortIndex);

    mappedDaoFields.put(
        "lastModifyUser", com.ourteam.product.ui.dao.IProductUITableColumnDAO.LastModifyUser);

    mappedDaoFields.put(
        "lastModifyTime", com.ourteam.product.ui.dao.IProductUITableColumnDAO.LastModifyTime);

    mappedDaoFields.put("remarks", com.ourteam.product.ui.dao.IProductUITableColumnDAO.Remarks);

    mappedDaoFields.put("status", com.ourteam.product.ui.dao.IProductUITableColumnDAO.Status);

    mappedDaoFields.put(
        "modelPropertyId", com.ourteam.product.ui.dao.IProductUITableColumnDAO.ModelPropertyId);

    mappedDaoFields.put(
        "listDataSourceCode",
        com.ourteam.product.ui.dao.IProductUITableColumnDAO.ListDataSourceCode);

    mappedDaoFields.put(
        "listDataSourceName",
        com.ourteam.product.ui.dao.IProductUITableColumnDAO.ListDataSourceName);

    mappedDaoFields.put(
        "actionGroupId", com.ourteam.product.ui.dao.IProductUITableColumnDAO.ActionGroupId);

    mappedDaoFields.put(
        "actionGroupCode", com.ourteam.product.ui.dao.IProductUITableColumnDAO.ActionGroupCode);
  }

  public static String getMappedDAOField(String aAttrName) {
    return mappedDaoFields.get(aAttrName);
  }

  public ProductUITableColumnBean() {
    super();

    this.productUITableColumn = new com.ourteam.product.ui.dao.ProductUITableColumn();
  }

  public ProductUITableColumnBean(
      com.ourteam.product.ui.dao.ProductUITableColumn productUITableColumn) {
    super();

    this.productUITableColumn = productUITableColumn;
  }

  public com.ourteam.product.ui.dao.ProductUITableColumn convertToProductUITableColumn() {
    return this.productUITableColumn;
  }

  public com.ourteam.product.ui.dao.ProductUITableColumn convertTo() {
    return this.productUITableColumn;
  }

  /**
   * Get id
   *
   * @return long
   */
  public long getId() {
    return (long) this.productUITableColumn.getId();
  }

  /**
   * Set id
   *
   * @parameter long
   */
  public void setId(long id) {

    this.productUITableColumn.setId(id);
  }

  /**
   * Get tableId
   *
   * @return long
   */
  public long getTableId() {
    return (long) this.productUITableColumn.getTableId();
  }

  /**
   * Set tableId
   *
   * @parameter long
   */
  public void setTableId(long tableId) {

    this.productUITableColumn.setTableId(tableId);
  }

  /**
   * Get code
   *
   * @return String
   */
  public String getCode() {
    return (String) this.productUITableColumn.getCode();
  }

  /**
   * Set code
   *
   * @parameter String
   */
  public void setCode(String code) {

    this.productUITableColumn.setCode(code);
  }

  /**
   * Get title
   *
   * @return String
   */
  public String getTitle() {
    return (String) this.productUITableColumn.getTitle();
  }

  /**
   * Set title
   *
   * @parameter String
   */
  public void setTitle(String title) {

    this.productUITableColumn.setTitle(title);
  }

  /**
   * Get titleKey
   *
   * @return String
   */
  public String getTitleKey() {
    return (String) this.productUITableColumn.getTitleKey();
  }

  /**
   * Set titleKey
   *
   * @parameter String
   */
  public void setTitleKey(String titleKey) {

    this.productUITableColumn.setTitleKey(titleKey);
  }

  /**
   * Get titleIcon
   *
   * @return String
   */
  public String getTitleIcon() {
    return (String) this.productUITableColumn.getTitleIcon();
  }

  /**
   * Set titleIcon
   *
   * @parameter String
   */
  public void setTitleIcon(String titleIcon) {

    this.productUITableColumn.setTitleIcon(titleIcon);
  }

  /**
   * Get width
   *
   * @return String
   */
  public String getWidth() {
    return (String) this.productUITableColumn.getWidth();
  }

  /**
   * Set width
   *
   * @parameter String
   */
  public void setWidth(String width) {

    this.productUITableColumn.setWidth(width);
  }

  /**
   * Get align
   *
   * @return String
   */
  public String getAlign() {
    return (String) this.productUITableColumn.getAlign();
  }

  /**
   * Set align
   *
   * @parameter String
   */
  public void setAlign(String align) {

    this.productUITableColumn.setAlign(align);
  }

  /**
   * Get formatValue
   *
   * @return String
   */
  public String getFormatValue() {
    return (String) this.productUITableColumn.getFormatValue();
  }

  /**
   * Set formatValue
   *
   * @parameter String
   */
  public void setFormatValue(String formatValue) {

    this.productUITableColumn.setFormatValue(formatValue);
  }

  /**
   * Get listDataSource
   *
   * @return String
   */
  public String getListDataSource() {
    return (String) this.productUITableColumn.getListDataSource();
  }

  /**
   * Set listDataSource
   *
   * @parameter String
   */
  public void setListDataSource(String listDataSource) {

    this.productUITableColumn.setListDataSource(listDataSource);
  }

  /**
   * Get cellEditor
   *
   * @return String
   */
  public String getCellEditor() {
    return (String) this.productUITableColumn.getCellEditor();
  }

  /**
   * Set cellEditor
   *
   * @parameter String
   */
  public void setCellEditor(String cellEditor) {

    this.productUITableColumn.setCellEditor(cellEditor);
  }

  /**
   * Get dataType
   *
   * @return String
   */
  public String getDataType() {
    return (String) this.productUITableColumn.getDataType();
  }

  /**
   * Set dataType
   *
   * @parameter String
   */
  public void setDataType(String dataType) {

    this.productUITableColumn.setDataType(dataType);
  }

  /**
   * Get showValue
   *
   * @return String
   */
  public String getShowValue() {
    return (String) this.productUITableColumn.getShowValue();
  }

  /**
   * Set showValue
   *
   * @parameter String
   */
  public void setShowValue(String showValue) {

    this.productUITableColumn.setShowValue(showValue);
  }

  /**
   * Get canSort
   *
   * @return String
   */
  public String getCanSort() {
    return (String) this.productUITableColumn.getCanSort();
  }

  /**
   * Set canSort
   *
   * @parameter String
   */
  public void setCanSort(String canSort) {

    this.productUITableColumn.setCanSort(canSort);
  }

  /**
   * Get canResize
   *
   * @return String
   */
  public String getCanResize() {
    return (String) this.productUITableColumn.getCanResize();
  }

  /**
   * Set canResize
   *
   * @parameter String
   */
  public void setCanResize(String canResize) {

    this.productUITableColumn.setCanResize(canResize);
  }

  /**
   * Get canFilter
   *
   * @return String
   */
  public String getCanFilter() {
    return (String) this.productUITableColumn.getCanFilter();
  }

  /**
   * Set canFilter
   *
   * @parameter String
   */
  public void setCanFilter(String canFilter) {

    this.productUITableColumn.setCanFilter(canFilter);
  }

  /**
   * Get canReOrder
   *
   * @return String
   */
  public String getCanReOrder() {
    return (String) this.productUITableColumn.getCanReOrder();
  }

  /**
   * Set canReOrder
   *
   * @parameter String
   */
  public void setCanReOrder(String canReOrder) {

    this.productUITableColumn.setCanReOrder(canReOrder);
  }

  /**
   * Get frozen
   *
   * @return String
   */
  public String getFrozen() {
    return (String) this.productUITableColumn.getFrozen();
  }

  /**
   * Set frozen
   *
   * @parameter String
   */
  public void setFrozen(String frozen) {

    this.productUITableColumn.setFrozen(frozen);
  }

  /**
   * Get sortIndex
   *
   * @return int
   */
  public int getSortIndex() {
    return (int) this.productUITableColumn.getSortIndex();
  }

  /**
   * Set sortIndex
   *
   * @parameter int
   */
  public void setSortIndex(int sortIndex) {

    this.productUITableColumn.setSortIndex(sortIndex);
  }

  /**
   * Get lastModifyUser
   *
   * @return String
   */
  public String getLastModifyUser() {
    return (String) this.productUITableColumn.getLastModifyUser();
  }

  /**
   * Set lastModifyUser
   *
   * @parameter String
   */
  public void setLastModifyUser(String lastModifyUser) {

    this.productUITableColumn.setLastModifyUser(lastModifyUser);
  }

  /**
   * Get lastModifyTime
   *
   * @return java.util.Date
   */
  public java.util.Date getLastModifyTime() {
    return (java.util.Date) this.productUITableColumn.getLastModifyTime();
  }

  /**
   * Set lastModifyTime
   *
   * @parameter java.util.Date
   */
  public void setLastModifyTime(java.util.Date lastModifyTime) {

    this.productUITableColumn.setLastModifyTime(lastModifyTime);
  }

  /**
   * Get remarks
   *
   * @return String
   */
  public String getRemarks() {
    return (String) this.productUITableColumn.getRemarks();
  }

  /**
   * Set remarks
   *
   * @parameter String
   */
  public void setRemarks(String remarks) {

    this.productUITableColumn.setRemarks(remarks);
  }

  /**
   * Get status
   *
   * @return String
   */
  public String getStatus() {
    return (String) this.productUITableColumn.getStatus();
  }

  /**
   * Set status
   *
   * @parameter String
   */
  public void setStatus(String status) {

    this.productUITableColumn.setStatus(status);
  }

  /**
   * Get modelPropertyId
   *
   * @return long
   */
  public long getModelPropertyId() {
    return (long) this.productUITableColumn.getModelPropertyId();
  }

  /**
   * Set modelPropertyId
   *
   * @parameter long
   */
  public void setModelPropertyId(long modelPropertyId) {

    this.productUITableColumn.setModelPropertyId(modelPropertyId);
  }

  /**
   * Get listDataSourceCode
   *
   * @return String
   */
  public String getListDataSourceCode() {

    return (String) this.productUITableColumn.getListDataSourceCode();
  }

  /**
   * Get listDataSourceName
   *
   * @return String
   */
  public String getListDataSourceName() {

    return (String) this.productUITableColumn.getListDataSourceName();
  }

  /**
   * Get actionGroupId
   *
   * @return long
   */
  public long getActionGroupId() {
    return (long) this.productUITableColumn.getActionGroupId();
  }

  /**
   * Set actionGroupId
   *
   * @parameter long
   */
  public void setActionGroupId(long actionGroupId) {

    this.productUITableColumn.setActionGroupId(actionGroupId);
  }

  /**
   * Get actionGroupCode
   *
   * @return String
   */
  public String getActionGroupCode() {

    return (String) this.productUITableColumn.getActionGroupCode();
  }

  public int hashCode() {
    return org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(this);
  }

  public boolean equals(Object obj) {
    if (obj == null) {
      return false;
    } // end if

    if ((obj instanceof ProductUITableColumnBean) == false) {
      return false;
    } // end if

    ProductUITableColumnBean other = (ProductUITableColumnBean) obj;

    boolean isEqual = false;

    com.ourteam.product.ui.dao.ProductUITableColumn tempProductUITableColumn =
        other.convertToProductUITableColumn();

    if (tempProductUITableColumn == null || this.productUITableColumn == null) {
      isEqual = false;
    } else if (tempProductUITableColumn == this.productUITableColumn
        || tempProductUITableColumn.equals(this.productUITableColumn)) {
      isEqual = true;
    } else {
      isEqual = false;
    }

    return isEqual;
  }

  public static ProductUITableColumnBean[] toArray(
      com.ourteam.product.ui.dao.ProductUITableColumn[] aProductUITableColumns) {

    return toArray(aProductUITableColumns, null);
  }

  public static ProductUITableColumnBean[] toArray(
      com.ourteam.product.ui.dao.ProductUITableColumn[] aProductUITableColumns,
      IDataPopulateCallback aCallBack) {

    if (ArrayUtils.isEmpty(aProductUITableColumns)) {
      return new ProductUITableColumnBean[0];
    }

    int length = aProductUITableColumns.length;

    ProductUITableColumnBean[] beans = new ProductUITableColumnBean[length];

    for (int i = 0; i < length; i++) {
      beans[i] = new ProductUITableColumnBean(aProductUITableColumns[i]);
      if (aCallBack != null) {
        aCallBack.populate(beans[i], new Object[] {aProductUITableColumns[i]});
      }
    }

    return beans;
  }
}
